perm filename BASIC.LSP[206,JMC]1 blob sn#070519 filedate 1973-11-03 generic text, type T, neo UTF8
(SETQ BASICFNS @(ORLIS
ANDLIS
MAPCAR2
MAPCHOOSE
MAPAPP
PRUP
))

(DE ORLIS (P U) (AND (NOT (NULL U)) (OR (P (CAR U)) (ORLIS P (CDR U)))))

(DE ANDLIS (P U) (OR (NULL U) (AND (P (CAR U)) (ANDLIS P (CDR U)))))

(DE MAPCAR2 (FN U V) (COND ((NULL U) NIL) (T (CONS (FN (CAR U) (CAR V))
		(MAPCAR2 FN (CDR U) (CDR V))))))

(DE MAPCHOOSE (PRED FN U) (COND ((NULL U) NIL)
		((PRED (CAR U)) (CONS (FN (CAR U)) (MAPCHOOSE PRED FN (CDR U))))
		(T (MAPCHOOSE PRED FN (CDR U)))))

(DE MAPAPP (FN U) (COND ((NULL U) NIL)
		(T (APPEND (FN (CAR U)) (MAPAPP FN (CDR U))))))

(DE PRUP (U V) (COND ((NULL U) (COND ((NULL V) NIL) (T (ERROR @(V LONGER - PRUP)))))
		((NULL V) (ERROR @(U LONGER - PRUP)))
		(T (CONS (CONS (CAR U) (CAR V)) (PRUP (CDR U) (CDR V))))))